| Conditions | 2 |
| Total Lines | 32 |
| Code Lines | 29 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 6 |
| CRAP Score | 2 |
| Changes | 0 | ||
| 1 | import { MapContainer, TileLayer} from 'react-leaflet'; |
||
| 14 | |||
| 15 | export default function Map({city, zoneData, scooterData} : propTypes) { |
||
| 16 | |||
| 17 | 4 | const [startPosition, setStartPosition] = useState<LatLngExpression>([-48.876667, -123.393333]); |
|
| 18 | 4 | const zoom = 11; |
|
| 19 | |||
| 20 | 4 | useEffect(() => { |
|
| 21 | 4 | if (city && cities[city]) { |
|
| 22 | 1 | setStartPosition(cities[city]); |
|
| 23 | } |
||
| 24 | }, [city, zoneData, scooterData]); |
||
| 25 | |||
| 26 | 4 | return ( |
|
| 27 | <div id="map-container"> |
||
| 28 | <div id="map" data-testid="map"> |
||
| 29 | <MapContainer |
||
| 30 | style={{ height: "400px" }} |
||
| 31 | center={startPosition} |
||
| 32 | zoom={zoom} |
||
| 33 | scrollWheelZoom={true} |
||
| 34 | > |
||
| 35 | <TileLayer |
||
| 36 | attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' |
||
| 37 | url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" |
||
| 38 | /> |
||
| 39 | <MapCenter center={startPosition} zoom={zoom} /> |
||
| 40 | {renderScooterMarkers(scooterData)} |
||
| 41 | {renderPolygons(zoneData)} |
||
| 42 | </MapContainer> |
||
| 43 | </div> |
||
| 44 | |||
| 45 | </div> |
||
| 46 | ) |
||
| 48 |